AWK 怎么读取标准输入(STDIN) |
您所在的位置:网站首页 › awk readline › AWK 怎么读取标准输入(STDIN) |
导读
在 awk 系列中,我们将会看到几个例子,你可以筛选其他命令的输出代替从一个文件读取输入作为 awk 的输入。我们首先从使用 dir 命令开始,它类似于 ls 命令。
列出当前路径下的用户文件 再来看另一个例子,我们使用 awk 表达式 ,在这里,我们想要在 awk 命令里使用一个表达式筛选出字符串来打印出属于 root 用户的文件。命令如下: # dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '列出 root 用户的文件 上面的命令包含了 (==) 来进行比较操作,这帮助我们在当前路径下筛选出 root 用户的文件。这是通过使用 $3=="root" 表达式实现的。 让我们再看另一个例子,我们使用一个 awk 比较运算符 来匹配一个确定的字符串。 这里,我们使用了 cat 命令 来浏览文件名为 tecmint_deals.txt 的文件内容,并且我们想要仅仅查看有字符串 Tech 的部分,所以我们会运行下列命令: # cat tecmint_deals.txt # cat tecmint_deals.txt | awk '$4 ~ /tech/{print}' # cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'用 Awk 比较运算符匹配字符串 在上面的例子中,我们已经用了参数为 ~ /匹配字符/ 的比较操作,但是上面的两个命令给我们展示了一些很重要的问题。 当你运行带有 tech 字符串的命令时终端没有输出,因为在文件中没有 tech 这种字符串,但是运行带有 Tech 字符串的命令,你却会得到包含 Tech 的输出。 所以你应该在进行这种比较操作的时候时刻注意这种问题,正如我们在上面看到的那样,awk 对大小写很敏感。 你总是可以使用另一个命令的输出作为 awk 命令的输入来代替从一个文件中读取输入,这就像我们在上面看到的那样简单。 希望这些例子足够简单到可以使你理解 awk 的用法,如果你有任何问题,你可以在下面的评论区提问,记得查看 awk 系列接下来的章节内容,我们将关注 awk 的一些功能,比如变量,数字表达式以及赋值运算符。 原文来自:https://linux.cn/article-7610-1.html 本文地址:https://www.linuxprobe.com/awk-stdin-in.html编辑:苏西云,审核员:冯振华 本文原创地址:https://www.linuxprobe.com/awk-stdin-in.html编辑:public,审核员:暂无 为您推荐一些与本文相关的文章:Ubuntu 16.04 LTS值得关注的新特性和改进盘点Google Chrome 被发现重大安全漏洞开源强大、超凡,那能用来做设计吗?红帽发布企业 Linux 原子主机7.2.6搭建私有CA服务器如何使用Shell写一个显示目录结构的命令?mysql备份实战-Xtrabackup工具备份微信付款二维码一不小心成别人的消费付款钱包了解下C# 判断Ubuntu 16.04 LTS将支持ZFS文件系统 相关文章[点此投稿]![]() ![]() ![]() ![]() ![]() 转载必需保留本文链接: https://www.linuxprobe.com/awk-stdin-in.html 本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |